
 1000  *SAVE S.DOSLESS INIT
 1010  *--------------------------------
 1020  RWTS       .EQ $03D9
 1030  GETIOB     .EQ $03E3
 1040  *--------------------------------
 1050  VTOC       .EQ $B3BB
 1060  V.VOLUME   .EQ $B3C1
 1070  V.NXTTRK   .EQ $B3EB
 1080  V.DIRECT   .EQ $B3EC
 1090  V.BITMAP   .EQ $B3F3
 1100  *--------------------------------
 1110  CATALOG.BUFFER .EQ $B4BB
 1120  C.TRACK        .EQ $B4BC
 1130  C.SECTOR       .EQ $B4BD
 1140  *--------------------------------
 1150  R.PARMS    .EQ $B7E8
 1160  R.VOLUME   .EQ $B7EB
 1170  R.TRACK    .EQ $B7EC
 1180  R.SECTOR   .EQ $B7ED
 1190  R.BUFFER   .EQ $B7F0,B7F1
 1200  R.OPCODE   .EQ $B7F4
 1210  *--------------------------------
 1220         .OR $800
 1230  *--------------------------------
 1240  DOSLESS.INIT
 1250         LDA #1       INIT AS VOLUME 001
 1260         STA R.VOLUME
 1270         STA V.VOLUME
 1280  *--------------------------------
 1290         LDA #$04     INIT OPCODE FOR RWTS
 1300         JSR CALL.RWTS.OP.IN.A
 1310  *---MAKE A GENERIC VTOC----------
 1320         LDA #$11
 1330         STA V.NXTTRK
 1340         STA R.TRACK
 1350         LDY #1
 1360         STY V.DIRECT      FORWARD DIRECTION
 1370         DEY          Y=0
 1380         STY R.SECTOR
 1390  *---PREPARE BITMAP---------------
 1400         LDY #4*35
 1410  .1     LDA #0
 1420         DEY
 1430         STA V.BITMAP,Y
 1440         DEY
 1450         STA V.BITMAP,Y
 1460         DEY
 1470         LDA #$FF
 1480         STA V.BITMAP,Y
 1490         DEY
 1500         STA V.BITMAP,Y
 1510         BNE .1
 1520         STY V.BITMAP      CANNOT ALLOCATE TRACK 0
 1530         STY V.BITMAP+1
 1540         INY                  Y=1, RESERVE F...9
 1550         STY 4*17+V.BITMAP         FREE SECTOR 8
 1560         LDA #$FE                  RESERVE 0
 1570         STA 4*17+V.BITMAP+1       FREE 7...1
 1580  *---WRITE VTOC ON NEW DISK-------
 1590         LDA #VTOC
 1600         STA R.BUFFER
 1610         LDA /VTOC
 1620         STA R.BUFFER+1
 1630         LDA #2            RWTS WRITE OPCODE
 1640         JSR CALL.RWTS.OP.IN.A
 1650  *---PREPARE CATALOG SECTOR-------
 1660         LDX #$00
 1670         TXA
 1680  .2     STA CATALOG.BUFFER,X
 1690         INX
 1700         BNE .2
 1710  *---WRITE CATALOG CHAIN----------
 1720         LDA #CATALOG.BUFFER
 1730         STA R.BUFFER
 1740         LDA /CATALOG.BUFFER
 1750         STA R.BUFFER+1
 1760         LDA #17      TRACK 17
 1770         LDY #15      START IN SECTOR 15
 1780  .3     STA C.TRACK
 1790  .4     STY R.SECTOR
 1800         DEY
 1810         STY C.SECTOR
 1820         JSR CALL.RWTS
 1830         LDY C.SECTOR
 1840         CPY #9
 1850         BNE .4
 1860         STY R.SECTOR
 1870         LDY #0
 1880         STY C.TRACK
 1890         STY C.SECTOR
 1900         JSR CALL.RWTS
 1910  *---WRITE BOOT SECTOR------------
 1920  .5     LDA #BOOTER
 1930         STA R.BUFFER
 1940         LDA /BOOTER
 1950         STA R.BUFFER+1
 1960         LDA #0
 1970         STA R.TRACK
 1980         STA R.SECTOR
 1990         JSR CALL.RWTS
 2000         RTS
 2010  *--------------------------------
 2020  CALL.RWTS.OP.IN.A
 2030         STA R.OPCODE
 2040  CALL.RWTS
 2050         JSR GETIOB
 2060         JSR RWTS
 2070         BCS .1       ERROR
 2080         RTS
 2090  .1     BRK
 2100  *--------------------------------
 2110  BOOTER
 2120         .PH $800
 2130  BOOTER.PHASE
 2140         .HS 01
 2150         LDA $C088,X  MOTOR OFF
 2160         LDY #0
 2170  .1     LDA MESSAGE,Y
 2180         BEQ .2
 2190         JSR $FDF0
 2200         INY
 2210         BNE .1
 2220  .2     JMP $FF59
 2230  *--------------------------------
 2240  MESSAGE
 2250         .HS 8D8D8787
 2260         .AS -/NO DOS IMAGE ON THIS DISK/
 2270         .HS 8D8D00
 2280         .EP
 2290  *--------------------------------
 2300         .BS 256,0
 2310  *--------------------------------

